Method and apparatus for computing feature kernels for optical model simulation

ABSTRACT

A method and an apparatus for computing feature kernels for optical model simulation are provided. In the method, a feature matrix mathematically describing a plurality of properties of an optical imaging system is identified. A sampling matrix comprising at least one vector serving as input to form a low-rank basis for the feature matrix is generated. The sampling matrix is iteratively multiplied by the feature matrix and a multiplication result is adaptively rescaled according to numerical stability until a convergence condition is met. The iteration results are used to form a reduced feature matrix. Decomposition values of the reduced feature matrix are computed and a plurality of feature kernels are extracted from the computed decomposition values.

CROSS REFERENCE TO RELATED APPLICATION

This is a continuation application of patent application Ser. No.16/423,190, filed on May 28, 2019, which claims the priority benefit ofU.S. provisional application Ser. No. 62/725,271, filed on Aug. 31,2018, and is now allowed. The entirety of each of the above-mentionedpatent applications is hereby incorporated by reference herein and madea part of this specification.

BACKGROUND

In the manufacturing processes of modern semiconductor devices, variousmaterials and machines are manipulated to create a final product. Due tothe increasing complexity of semiconductor devices and the developmentof ultra-small transistors, the variation in the process has a greaterimpact on the performance of the product. Lithography is one of the keyfactors that cause the impact and lithographic simulations are appliedto estimate the performance of the product to be manufactured beforemass production.

A transmission cross-coefficient (TCC) matrix that mathematicallydescribes properties of an optical imaging system under Hopkins theoryis adopted in lithographic simulations, and computation of TCC kernelsfrom the TCC matrix is essential to the simulations. Standard methodsfor computing the TCC kernels, however, are very computationallyexpensive, which may slow down the simulations and increase an overalltime of mask making process.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the present disclosure are best understood from the followingdetailed description when read with the accompanying figures. It isnoted that, in accordance with the standard practice in the industry,various features are not drawn to scale. In fact, the dimensions of thevarious features may be arbitrarily increased or reduced for clarity ofdiscussion.

FIG. 1 is a schematic diagram illustrating a model simulation processaccording to an embodiment of the disclosure.

FIG. 2 is a schematic diagram illustrating a model-based mask makingprocess according to an embodiment of the disclosure.

FIG. 3 illustrates a block diagram of an electronic apparatus forcomputing feature kernels for optical model simulation according to anembodiment of the disclosure.

FIG. 4 is a flowchart illustrating a method for computing featurekernels for optical model simulation according to an embodiment of thedisclosure.

FIG. 5A is a flowchart illustrating a method for computing featurekernels for optical model simulation by using EVD algorithm according toan embodiment of the disclosure.

FIG. 5B is a schematic diagram illustrating an example of computingfeature kernels for optical model simulation by using EVD algorithmaccording to an embodiment of the disclosure.

FIG. 6A is a flowchart illustrating a method for finding a low-rankbasis through subspace iteration according to an embodiment of thedisclosure.

FIG. 6B is a flowchart illustrating a method for finding a low-rankbasis through the block Krylov method according to an embodiment of thedisclosure.

FIG. 7A is a flowchart illustrating a method for computing featurekernels for optical model simulation by using SVD algorithm according toan embodiment of the disclosure.

FIG. 7B is a schematic diagram illustrating an example of computingfeature kernels for optical model simulation by using SVD algorithmaccording to an embodiment of the disclosure.

DESCRIPTION OF THE EMBODIMENTS

The following disclosure provides many different embodiments, orexamples, for implementing different features of the provided subjectmatter. Specific examples of components and arrangements are describedbelow to simplify the present disclosure. These are, of course, merelyexamples and are not intended to be limiting. For example, the formationof a first feature over or on a second feature in the description thatfollows may include embodiments in which the first and second featuresare formed in direct contact, and may also include embodiments in whichadditional features may be formed between the first and second features,such that the first and second features may not be in direct contact. Inaddition, the present disclosure may repeat reference numerals and/orletters in the various examples. This repetition is for the purpose ofsimplicity and clarity and does not in itself dictate a relationshipbetween the various embodiments and/or configurations discussed.

Further, spatially relative terms, such as “beneath,” “below,” “lower,”“above,” “upper” and the like, may be used herein for ease ofdescription to describe one element or feature's relationship to anotherelement(s) or feature(s) as illustrated in the figures. The spatiallyrelative terms are intended to encompass different orientations of thedevice in use or operation in addition to the orientation depicted inthe figures. The apparatus may be otherwise oriented (rotated 90 degreesor at other orientations) and the spatially relative descriptors usedherein may likewise be interpreted accordingly.

This invention aims to dramatically accelerate the computation oftransmission cross-coefficient (TCC) kernels, which are central to theefficient modeling of projection optical imaging systems in modernlithography.

According to some embodiments of the invention, a sampling matrix isformed from a random matrix, a pseudorandom matrix, or a structuredmatrix. A transmission cross-coefficient (TCC) matrix thatmathematically describes the properties of an optical system isiteratively multiplied against the sampling matrix and the result isadaptively rescaled (or orthogonalized) until a convergence condition ismet. As a result, a low-rank basis that approximately preserves thekernels of interest is formed according to a final result of theiterations or an accumulation of the intermediate results of theiterations. The low-rank basis is used to compute a reduced TCC matrixof smaller size.

With the reduced TCC matrix, a block algorithm is applied to compute aneigenvalue decomposition (EVD) or a singular value decomposition (SVD),from which the reduced TCC kernels are extracted and expanded to thefull space. The reconstructed TCC kernels are applied for modelcalibration and mask correction/optimization so as to obtain anoptimized mask.

Through the method, since the dominant computation includes only matrixmultiplication, which includes O(N²) operations generally or even justO(N log N) in special cases, the computational complexity can bedramatically reduced and the lithography simulation for model-based maskmaking can be accelerated.

FIG. 1 is a schematic diagram illustrating a model simulation processaccording to an embodiment of the disclosure. Referring to FIG. 1, themodel simulation of the embodiment is implemented to compute simulatedimages which are used, for example, to compare with actual imagescaptured from the wafer to verify whether the simulated model isappropriate.

In step S110, a plurality of optical models 11 and a mask 12 are givenas inputs for model simulation. Each of the optical models is, forexample, a mathematical model comprising lots of parameters inassociation with the optics in a projection optical imaging system, suchas defocus, image plane, wavelength of light, or numerical aperture. Themask is, for example, a lithographic photomask used in photolithographyand developed with a pattern layer in integrated circuit fabrication.

In step S120, each of the optical models is applied to model simulation,which is implemented based on Hopkins theory. The Hopkins theory usesthe transmission cross-coefficients (TCC) to describe the interferenceof mask transmission in contributing to the optical image which isformed by Fourier transforming the product of the TCC multiplied by themask function.

In detail, the TCC for scalar optics may be presented as:

T(f, f′)=∫P(f+f _(S))S(f _(S))P*(f′+f _(S))df _(S),

where the independent variables are 2D spatial frequency coordinates,i.e., f=(f_(x), f_(y)). P(f) is a pupil function equal to the Fouriertransform of a point spread function. S(f) is the source intensitydistribution. The discretized T(f, f′) is a TCC matrix, in which onedimension is for f and the other is for f′.

The TCC matrix T can also be written in a form as T=PP*ϵ

^(N×N), Pϵ

^(M×N) (absorbing √{square root over (S(f))} into each of P, P* since≥0), where P is the “stacked shifted pupil matrix” depending only onproperties of the optical system (e.g., pupil function, sourceintensity, coherence factor, polarization) and P* is the conjugatetranspose of pupil matrix P. In modern lithographic simulations, M≅10⁴and N≅3000. The TCC matrix T can be used to compute an aerial image AIas:

AI=∫∫m(f)T(f, f′)m*(f′)e ^(2πi(f-f′)) df df′,

where m(f) is a mask transmission function equal to a mask diffractionoperator. It is noted that, from projection optics, the light diffractedby the pattern on the photomask enters the photoresist and an image ofthe photomask formed on the photoresist is called the aerial image.

The definition described above is for the scalar optical theory. Asimilar formula holds for the vector optical theory. That is, for avector optical theory, P(f) is changed to a matrix (i.e. multiplecomponents to describe light polarization) and S(f) is changed to amatrix so as to capture the polarization of each source point.

It follows that the TCC matrix T admits an eigendecomposition T=VΛV*,where V is unitary with columns ν_(j) and Λ is diagonal with realentries λ₁≥λ₂≥ . . . ≥0. The TCC kernels are the scaled eigenvectorsφ_(j)=√{square root over (λ_(j) )}ν_(j). Typically only some smallnumber k<<N of leading kernels are retained, which then comprise anoptimal approximation of T up to rank k.

Based on the above, in step S121, a plurality of TCC kernels aregenerated and in step S122, the generated TCC kernels are applied aspart of the optical model.

The present embodiment focuses on the generation of TCC kernels in stepS121. Through iteratively multiplying the TCC matrix against a low-rankbasis, a reduced TCC matrix is obtained and used to computedecomposition values. In the end, the TCC kernels can be generated byextracting reduced TCC kernels from the computed decomposition valuesand expanding the same to the full space.

In addition to applying the optical model, in step S130, a resist/wafermodel is further applied to the model simulation such that a simulatedimage 13 is generated in step S140. The simulated image is used tocompare with an actual image captured from the wafer so as to verifywhether the simulated model is appropriate.

As a result, the model simulation process can run faster due to thereduced time for the generation of TCC kernels.

FIG. 2 is a schematic diagram illustrating a model-based mask makingprocess according to an embodiment of the disclosure. Referring to FIG.2, the mask making process is based on the model simulation asillustrated in FIG. 1.

In the upper half of FIG. 2, a model calibration approach for thequalification process of projection optics of wafer steppers andscanners is illustrated, in which a plurality of test patterns 21 areapplied to make photomasks. The test patterns 21 are transferred fromthe photomasks to the photoresist formed on a substrate or a wafer bylight, in which a series of chemical treatments are conducted to engravethe patterns into the material underneath the photoresist. A pluralityof test measurements 22 are then obtained from the patterned substrateor wafer.

In step S210, the aforesaid test patterns 21 and test measurements 22are given as inputs for model calibration. In the model calibrationprocess in step S220, the model simulation process as illustrated inFIG. 1 is applied to simulate an optical model with the input testpatterns (step S221), and the simulated measurements (i.e. simulatedimages) obtained from the model simulation are checked against the testmeasurements 22 to see whether the model is appropriate (step S222).

If the test measurements 22 and the simulated measurements are far fromeach other, it means the model is not robust and the process is returnedback to step S221 to correct and change the model and perform thesimulation again. The model calibration is performed repeatedly untilthe test measurements 22 and the simulated measurements are close toeach other and accordingly a calibrated model 23 is outputted in stepS230.

It is noted, every time the optical model is changed in step S221, theparameters of the optics are changed and accordingly the modelsimulation is performed again, which means new TCC kernels are desiredto be computed and therefore the computation is a key factor that slowsdown the model calibration process.

In the lower half of FIG. 2, a mask correction/optimization process isillustrated, and in step S240, the model 23 calibrated in the previousmodel calibration process, a mask 24 and a target 25 are given as inputsto a plurality of simulations in the mask correction/optimizationprocess in step S250. In the mask correction/optimization process, oneor a combination of simulations including, but not limited to, opticalproximity correction (OPC), inverse lithography technology (ILT),model-based assist feature (MBAF), and source-mask optimization (SMO)are performed in step S251 and a lithography process check (LPC) isperformed in step S252 to check whether the mask made aftercorrection/optimization is appropriate.

In some embodiments, if a result image obtained by using the given mask24 is checked as not matching or similar to the target 25 (e.g. adesired pattern) in step S252, the simulations in steps S251 areperformed again to correct the mask. On the other hand, if a resultimage obtained by using the given mask 24 is checked as matching orsimilar to the target 25 in step S252, an optimized mask 26 is output instep S260.

It is noted, although some of the simulations (e.g. OPC/ILT) in stepS251 may apply the TCC kernels previously generated in step S220, somesimulations may need new TCC kernels. For example, in some embodiments,for the simulation of source-mask optimization (SMO), since the opticsare optimized in the simulation, the parameters of the optics arechanged and new TCC kernels are desired to be computed. Similar to thesimulation in step S221, the computation of new TCC kernels in step S251may slow down the mask correction/optimization process and cause anoverall time of mask making process to be increased.

In view of above, a method for computing feature kernels for opticalmodel simulation is developed by the disclosure to accelerate thecomputation of TCC kernels, so as to reduce the time for modelsimulation process and mask making process.

In detail, FIG. 3 illustrates a block diagram of an electronic apparatusfor computing feature kernels for optical model simulation according toan embodiment of the disclosure. Referring to FIG. 3, an electronicapparatus 30 of the present embodiment is, for example, a personalcomputer, a server, a work station or any other computing device, andmay include a data retrieving device 32, a storage medium 34 and aprocessor 36 coupled to the data retrieving device 32 and the storagemedium 34.

In some embodiments, the electronic apparatus 30 is externally connectedto an optical imaging system (not shown) and configured to retrieve aplurality of properties of the optical imaging system and scan imagesobtained by the optical imaging system performing hot scans on asubstrate or a wafer, so as to perform optical model simulation.

In some embodiments, the data retrieving device 32 is configured toconnect the optical imaging system and retrieve the properties of theoptical imaging system. The data retrieving device 32 is, for example,any wired or wireless interface such as USB, firewire, thunderbolt,universal asynchronous receiver/transmitter (UART), serial peripheralinterface bus (SPI), WiFi, or Bluetooth, but the disclosure is notlimited thereto.

The storage medium 34 is configured to store the properties retrieved bythe data retrieving device 32. The storage medium 34 is, for example, arandom access memory (RAM), a read-only memory (ROM), a flash memory, ahard disk, a redundant array of independent disks (RAID), other similarstorage devices or a combination thereof, but the disclosure is notlimited thereto.

The processor 36 is, for example, a central processing unit (CPU), otherprogrammable general-purpose or specific-purpose microprocessors, adigital signal processor (DSP), a programmable controller, anapplication specific integrated circuit (ASIC), a programmable logicdevice (PLD), other similar devices, or a combination thereof, but thedisclosure is not limited thereto.

The electronic apparatus 30 is configured to execute instructions forcarrying out a method for computing feature kernels for optical modelsimulation in accordance with some embodiments of the presentdisclosure. In detail, FIG. 4 is a flowchart illustrating a method forcomputing feature kernels for optical model simulation according to anembodiment of the disclosure. The method of the present embodiment isadapted to the electronic apparatus 30 of FIG. 3, and detailed steps ofthe method are described below with reference to various components inthe electronic apparatus 30 of FIG. 3.

Referring to FIG. 4, in step S402, the processor 36 identifies a featurematrix mathematically describing the plurality of properties of theoptical imaging system. The feature matrix is, for example, a TCC matrixthat mathematically describes the properties of an optical system suchas pupil function, source intensity, coherence factor, or polarization,but the disclosure is not limited thereto.

In step S404, the processor 36 generates a sampling matrix comprising atleast one vector serving as input to form a low-rank basis for thefeature matrix. The sampling matrix comprises, for example, a randommatrix, a pseudorandom matrix, or a structured matrix. In someembodiments, when generating the sampling matrix, the processor 36 mayperform oversampling (e.g. enlarge rank k to k+O(1)) in order to improverandom sampling error. In some embodiments, groups of vectors (i.e.matrices) are acted on simultaneously to exploit computer hardware cacheefficiency, but in some embodiments, single-vector-at-a-time variantscan also be derived, which can make the computation result moreaccurate.

In step S406, the processor 36 iteratively multiplies the samplingmatrix by the feature matrix and adaptively rescales a multiplicationresult according to numerical stability until a convergence condition ismet. The multiplication is repeatedly applied to improve spectralapproximation error.

In some embodiments, the multiplication by the feature matrix isperformed by exploiting a subset of the properties without directlycomputing the full feature matrix. For example, by performing themultiplication by the TCC matrix T as Tx=P(P*x), the calculation maybypass construction of T (includes O(N³) operations) and includes atmost O(N²) operations, which gives an overall O(N²) cost for thealgorithm. Other structures such as low-rank, sparse, or tensor may befurther exploited, and the disclosure is not limited thereto.

In some embodiments, the multiplication by the feature matrix isperformed by computing a convolution of a pupil matrix depending on theproperties and a conjugate transpose of the pupil matrix using fastFourier transform (FFT) when a plurality of source points are laid on aconformal uniform grid. The convolutional structure of the pupil matrixallows multiplication in O(N log N) time using FFT and gives an overallO(N log N) for the algorithm.

In some embodiments, the multiplication by the feature matrix isperformed by computing a convolution of a pupil matrix depending on theproperties and a conjugate transpose of the pupil matrix using FFT whena plurality of source points in an arbitrary distribution are resampledonto a uniform grid. The source points can be resampled onto the uniformgrid with controllable aerial image error, and gives an overall O(N logN) for the algorithm as described above.

In some embodiments, the multiplication by the feature matrix isperformed by computing a convolution of a pupil matrix depending on theproperties and a conjugate transpose of the pupil matrix usingnon-uniform FFT when a plurality of source points in an arbitrarydistribution are not on a uniform grid. Even for the source points inthe arbitrary distribution, an overall O(N log N) for the algorithm canbe achieved by using non-uniform FFT.

In some embodiments, in addition to explicitly considering the TCCmatrix with a structure T=PP* which provides faster-than-O(N³)multiplication, TCC matrices with more general structures, e.g., T=PDP*for diagonal indefinite (i.e. can be negative) matrix D can also beapplied.

In step S408, the processor 36 uses iteration results to form a reducedfeature matrix.

In some embodiments, the reduced feature matrix is obtained throughsubspace iteration, which is used to compute a low-rank basisapproximating the leading eigenspace. Convergence can be tied toperforming a fixed number of iterations or to monitoring some metric ofsubspace similarity. That is, in some embodiments, the convergencecondition is determined to be met when a number of iterations reaches apredetermined number while in some embodiments, the convergencecondition is determined to be met when an adaptive error metric ismonitored, but the disclosure is not limited thereto. Accordingly, thereduced feature matrix is formed by using a final result of theiterations.

In some embodiments, the reduced feature matrix is obtained through ablock Krylov method, in which intermediate results are better used toconstruct a possibly larger basis than the subspace iteration, in afashion similar to the classical Lanczos method. That is, the reducedfeature matrix is formed by initiating an empty basis and accumulatingan intermediate result of each iteration to the empty basis. Compared tothe subspace iteration, the approximation error is strictly no worse,but the price is that the reduced feature matrix may be larger and thecost for calculating the decomposition values may be higher.

In step S410, the processor 36 computes decomposition values of thereduced feature matrix and in step S412, the processor 36 extracts aplurality of feature kernels from the computed decomposition values. Insome embodiments, the decomposition values of the reduced feature matrixare computed by using a block algorithm such as an eigenvaluedecomposition (EVD) algorithm or a singular value decomposition (SVD)algorithm, which are respectively illustrated in detail below.

FIG. 5A is a flowchart illustrating a method for computing featurekernels for optical model simulation by using EVD algorithm according toan embodiment of the disclosure. FIG. 5B is a schematic diagramillustrating an example of computing feature kernels for optical modelsimulation by using EVD algorithm according to an embodiment of thedisclosure. The method of the present embodiment is adapted to theelectronic apparatus 30 of FIG. 3, and detailed steps of the method aredescribed below with reference to various components in the electronicapparatus 30 of FIG. 3.

Referring to both FIG. 5A and FIG. 5B, in step S502, the processor 36obtains a pupil matrix of the optical system, so as to calculate a TCCmatrix T that mathematically describes the properties of the opticalsystem.

In step S504, borrowing techniques from randomized numerical linearalgebra, the processor 36 finds a low-rank basis Q of size O(k) thatapproximately preserves kernels of interest.

In step S506, the processor 36 multiplies the low-rank basis Q by theTCC matrix T to form a reduced TCC matrix {tilde over (T)}, in which aconjugate transpose matrix Q* of the low-rank basis Q is multiplied bythe TCC matrix T and the low-rank basis Q so as to compress the TCCmatrix T into the reduced TCC matrix {tilde over (T)}.

In step S508, the processor 36 computes a reduced EVD from the reducedTCC matrix {tilde over (T)}.

In step S510, the processor 36 extracts kernels from the computedreduced EVD. In some embodiments, the processor 36 extracts reduced TCCkernels (i.e. {tilde over (V)}√{square root over ({tilde over (Λ)})})from the computed reduced EVD and then expands the extracted reduced TCCkernels to the full space by multiplying the low-rank basis Q with thereduced TCC kernels so as to recover the TCC kernels (i.e. Q{tilde over(V)}√{square root over ({tilde over (Λ)})}).

According to the present embodiment, the low-rank basis is found andused to compress the TCC matrix into a small reduced matrix (e.g. a TCCmatrix with a size of order k by order k, where k is the number ofkernels of interest). The computation is performed in the small,compressed space and the results are expanded back to the originalspace. As a result, the computational complexity can be dramaticallyreduced and the generation of TCC kernels can be accelerated.

In some embodiments, the method for finding the low-rank basis may beperformed through subspace iteration or block Krylov method asintroduced above.

In detail, FIG. 6A is a flowchart illustrating a method for finding alow-rank basis through subspace iteration according to an embodiment ofthe disclosure. FIG. 6B is a flowchart illustrating a method for findinga low-rank basis through the block Krylov method according to anembodiment of the disclosure. The methods of the present embodiments areadapted to the electronic apparatus 30 of FIG. 3.

Referring to FIG. 6A, in step S602, the processor 36 generates anoversampled random matrix. In some embodiments, the processor 36 maygenerate the oversampled random matrix by oversampling a random matrix,a pseudorandom matrix, or a structured matrix.

In step S604, the processor 36 multiplies the generated random matrix bythe TCC matrix and in step 606, adaptively rescales a multiplicationresult according to numerical stability. The rescaling is referred toas, for example, Gram-Schmidt orthogonalization, primarily for thenumerical stability, but the disclosure is not limited thereto.

In step S608, the processor 36 determines whether the iteration is done.In some embodiments, the termination (i.e. convergence) can be fixedbased on a set number of iterations or some adaptive error metric.

If the convergence condition is not met, the processor 36 returns tostep S606 to iteratively multiply the generated random matrix by the TCCmatrix and rescales the multiplication result again until theconvergence condition is met. Once the convergence condition is met, theprocessor 36 proceeds to step S610 to orthogonalize the rescaledmultiplication result and finally output the orthogonalized result asthe low-rank basis.

Referring to FIG. 6B, in step S612, the processor 36 initializes anempty basis and then in step S614 generates an oversampled randommatrix. In some embodiments, the processor 36 may generate theoversampled random matrix by oversampling a random matrix, apseudorandom matrix, or a structured matrix.

In step S616, the processor 36 multiplies the generated random matrix bythe TCC matrix and in step 618, adaptively rescales a multiplicationresult according to numerical stability and adds the rescaledmultiplication result to the empty basis initialized in step S612. Therescaling is referred to as, for example, Gram-Schmidtorthogonalization, primarily for the numerical stability, but thedisclosure is not limited thereto.

In step S620, the processor 36 determines whether the iteration is done.In some embodiments, the termination (i.e. convergence) can be fixedbased on a set number of iterations or some adaptive error metric.

If the convergence condition is not met, the processor 36 returns tostep S616 to iteratively multiply the generated random matrix by the TCCmatrix, rescales the multiplication result, and adds the rescaledmultiplication to the accumulated basis until the convergence conditionis met. Once the convergence condition is met, the processor 36 proceedsto step S622 to orthogonalize the accumulated basis and finally outputthe orthogonalized basis as the low-rank basis.

Compared to the subspace iteration, as for the block Krylov method, theintermediate results are accumulated to construct a possibly largerbasis than the subspace iteration. As a result, the approximation erroris strictly no worse, but the cost for computing the EVD may be moreexpensive since the generated basis is larger.

In aforesaid method illustrated in FIG. 5A to FIG. 6B, the featurekernels are computed using the EVD algorithm. However, in someembodiments, the feature kernels can be computed using the SVDalgorithm. Embodiments are given below for further illustration.

FIG. 7A is a flowchart illustrating a method for computing featurekernels for optical model simulation by using SVD algorithm according toan embodiment of the disclosure. FIG. 7B is a schematic diagramillustrating an example of computing feature kernels for optical modelsimulation by using SVD algorithm according to an embodiment of thedisclosure. The method of the present embodiment is adapted to theelectronic apparatus 30 of FIG. 3, and detailed steps of the method aredescribed below with reference to various components in the electronicapparatus 30 of FIG. 3.

Referring to both FIG. 7A and FIG. 7B, in step S702, the processor 36obtains a pupil matrix P of the optical system.

In step S704, borrowing techniques from randomized numerical linearalgebra, the processor 36 finds a low-rank basis Q of size 0(k) thatapproximately preserves kernels of interest.

In step S706, the processor 36 multiplies a conjugate transpose matrixQ* of the low-rank basis Q by the pupil matrix P to form a reduced pupilmatrix {tilde over (P)}, so as to compress the pupil matrix P into thereduced pupil matrix {tilde over (P)}.

In step S708, the processor 36 computes a reduced SVD from the reducedpupil matrix {tilde over (P)}. For a reduced TCC matrix witheigendecomposition {tilde over (T)}={tilde over (V)}Λ{tilde over (V)},the corresponding reduced pupil matrix SVD is {tilde over (P)}={tildeover (V)}√{square root over ({tilde over (Λ)})}{tilde over (W)}, forsome unitary matrix {tilde over (W)}.

In step S710, the processor 36 extracts kernels from the computedreduced SVD. In some embodiments, the processor 36 extracts reduced TCCkernels (i.e. {tilde over (V)}√{square root over ({tilde over (Λ)})})from the computed reduced SVD and then expands the extracted reduced TCCkernels to the full space by multiplying the low-rank basis Q with thereduced TCC kernels so as to recover the TCC kernels (i.e. Q{tilde over(V)}√{square root over ({tilde over (Λ)})}).

In some embodiments, the method for finding the low-rank basis may beperformed through subspace iteration or block Krylov method asintroduced above.

In detail, in some embodiments, the reduced feature matrix may beobtained through subspace iteration, which is used to compute a low-rankbasis approximating the leading eigenspace. Convergence can be tied toperforming a fixed number of iterations or to monitoring some metric ofsubspace similarity. Accordingly, the low-rank basis can be found byiteratively multiplying the generated random matrix by the TCC matrix(i.e., by the pupil matrix and its conjugate transpose), rescaling themultiplication result, and orthogonalizing the rescaled multiplicationresult.

In some embodiments, the reduced feature matrix may be obtained througha block Krylov method, in which intermediate results are better used toconstruct a possibly larger basis than the subspace iteration.Accordingly, the low-rank basis can be found by initiating an emptybasis, accumulating an intermediate result of each iteration to theempty basis, and orthogonalizing the accumulated basis.

In the fast low-rank SVD algorithm for pupil matrix P of the presentembodiment, since the spectral decay for the pupil matrix P is only halfthat for TCC matrix T, the error, which depends on spectral decay, maybe larger.

In the embodiments described above, a fast EVD-based algorithm and afast SVD-based algorithm are respectively introduced to extract the TCCkernels, but in some embodiments, the same ideas may also be used togenerate various fast low-rank factorizations beyond the classicaldecompositions, resulting in “non-canonical” TCC kernels with, e.g.,reduced memory complexity.

In some embodiments, a non-transitory computer-readable recording mediumcomprising processor executable instructions that when executed performa method for computing feature kernels for optical model simulation asillustrated in the embodiments above is provided. In some embodiments,the non-transitory computer-readable recording medium is a CD-R, aDVD-R, a flash drive, or a platter of a hard disk drive, etc., on whichis encoded computer-readable data. The computer-readable data, such asbinary data comprising a plurality of zeros and ones, in turn comprisesa set of computer instructions configured to operate according to one ormore of the principles set forth herein. In some embodiments, theprocessor-executable computer instructions are configured to perform amethod for computing feature kernels for optical model simulation, suchas at least some of the exemplary method illustrated in FIG. 4, forexample. Many such computer-readable recording media are devised bythose of ordinary skill in the art that are configured to operate inaccordance with the techniques presented herein.

According to some embodiments, a method for computing feature kernelsfor optical model simulation, adapted to an electronic apparatus havinga storage medium and a processor, is provided. In the method, a featurematrix mathematically describing a plurality of properties of an opticalimaging system retrieved from the optical imaging system and stored inthe storage medium is identified by the processor. A sampling matrixcomprising at least one vector serving as input to form a low-rank basisfor the feature matrix is generated by the processor. The samplingmatrix is iteratively multiplied by the feature matrix and amultiplication result is adaptively rescaled according to numericalstability by the processor until a convergence condition is met. Theiteration results are used by the processor to form a reduced featurematrix. Decomposition values of the reduced feature matrix are computedand a plurality of feature kernels are extracted from the computeddecomposition values by the processor.

According to some embodiments, an apparatus for computing featurekernels for optical model simulation includes a data retrieving device,a storage medium and a processor. The data retrieving device isconfigured to retrieve a plurality of properties of an optical imagingsystem. The storage medium is configured to store the propertiesretrieved by the data retrieving device. The processor is coupled to thedata retrieving device and the storage medium, and configured to executeinstructions to identify a feature matrix mathematically describing theplurality of properties of the optical imaging system, generate asampling matrix comprising at least one vector serving as input to forma low-rank basis for the feature matrix, iteratively multiply thesampling matrix by the feature matrix and adaptively rescale amultiplication result according to numerical stability until aconvergence condition is met, use iteration results to form a reducedfeature matrix, and compute decomposition values of the reduced featurematrix and extract a plurality of feature kernels from the computeddecomposition values.

According to some embodiments, a non-transitory computer-readablerecording medium includes processor executable instructions that whenexecuted perform a method for computing feature kernels for opticalmodel simulation. In the method, a feature matrix mathematicallydescribing a plurality of properties of an optical imaging system isidentified. A sampling matrix comprising at least one vector serving asinput to form a low-rank basis for the feature matrix is generated. Thesampling matrix is iteratively multiplied by the feature matrix and amultiplication result is adaptively rescaled according to numericalstability until a convergence condition is met. The iteration resultsare used to form a reduced feature matrix. Decomposition values of thereduced feature matrix are computed and a plurality of feature kernelsare extracted from the computed decomposition values.

The foregoing outlines features of several embodiments so that thoseskilled in the art may better understand the aspects of the presentdisclosure. Those skilled in the art should appreciate that they mayreadily use the present disclosure as a basis for designing or modifyingother processes and structures for carrying out the same purposes and/orachieving the same advantages of the embodiments introduced herein.Those skilled in the art should also realize that such equivalentconstructions do not depart from the spirit and scope of the presentdisclosure, and that they may make various changes, substitutions, andalterations herein without departing from the spirit and scope of thepresent disclosure.

What is claimed is:
 1. A method for computing feature kernels foroptical model simulation, adapted to an electronic apparatus having astorage medium and a processor, the method comprising: identifying afeature matrix mathematically describing a plurality of properties of anoptical imaging system retrieved from the optical imaging system andstored in the storage medium by the processor; generating a samplingmatrix comprising at least one vector serving as input to form alow-rank basis for the feature matrix by the processor; multiplying thesampling matrix by the feature matrix to obtain a multiplication resultand adaptively rescaling the multiplication result according tonumerical stability of the multiplication result by the processor, anditeratively multiplying the rescaled multiplication result by thefeature matrix to obtain a multiplication result of a current iterationand rescaling the multiplication result until a convergence condition ismet; orthogonalizing the rescaled multiplication result to obtain anorthogonalized result as the low-rank basis by the processor;multiplying a conjugate transpose matrix of the low-rank basis by thefeature matrix and the low-rank basis to form a reduced feature matrixby the processor; and computing decomposition values of the reducedfeature matrix and extracting a plurality of feature kernels from thecomputed decomposition values by the processor.
 2. The method accordingto claim 1, wherein the reduced feature matrix is formed by a finalresult of the iterations.
 3. The method according to claim 1, whereinthe reduced feature matrix is formed by initiating an empty basis andaccumulating an intermediate result of each iteration to the emptybasis.
 4. The method according to claim 1, wherein the sampling matrixcomprises a random matrix, a pseudorandom matrix, or a structuredmatrix, and the step of generating the sampling matrix furthercomprises: performing oversampling to improve random sampling error. 5.The method according to claim 1, wherein the convergence condition ismet when a number of iterations reaches a predetermined number or anadaptive error metric is monitored.
 6. The method according to claim 1,wherein the multiplication by the feature matrix is performed byexploiting a subset of the properties without directly computing thefull feature matrix.
 7. The method according to claim 1, wherein themultiplication by the feature matrix is performed by computing aconvolution of a pupil matrix depending on the properties and aconjugate transpose of the pupil matrix using fast Fourier transform(FFT) when a plurality of source points are laid on a conformal uniformgrid.
 8. The method according to claim 1, wherein the multiplication bythe feature matrix is performed by computing a convolution of a pupilmatrix depending on the properties and a conjugate transpose of thepupil matrix using FFT when a plurality of source points in an arbitrarydistribution are resampled onto a uniform grid.
 9. The method accordingto claim 1, wherein the multiplication by the feature matrix isperformed by computing a convolution of a pupil matrix depending on theproperties and a conjugate transpose of the pupil matrix using thenon-uniform FFT when a plurality of source points in an arbitrarydistribution are not on a uniform grid.
 10. The method according toclaim 1, wherein the step of computing decomposition values of thereduced feature matrix comprises: computing the decomposition values ofthe reduced feature matrix by using a block algorithm comprising aneigenvalue decomposition (EVD) algorithm or a singular valuedecomposition (SVD) algorithm.
 11. An apparatus for computing featurekernels for optical model simulation, comprising: a data retrievingdevice, configured to retrieve a plurality of properties of an opticalimaging system; a storage medium, configured to store the propertiesretrieved by the data retrieving device; a processor, coupled to thedata retrieving device and the storage medium, and configured to executeinstructions to perform steps of: identifying a feature matrixmathematically describing the plurality of properties of the opticalimaging system; generating a sampling matrix comprising at least onevector serving as input to form a low-rank basis for the feature matrix;multiplying the sampling matrix by the feature matrix to obtain amultiplication result and adaptively rescaling the multiplication resultaccording to numerical stability of the multiplication result, anditeratively multiplying the rescaled multiplication result by thefeature matrix to obtain a multiplication result of a current iterationand rescaling the multiplication result until a convergence condition ismet; orthogonalizing the rescaled multiplication result to obtain anorthogonalized result as the low-rank basis; multiplying a conjugatetranspose matrix of the low-rank basis by the feature matrix and thelow-rank basis to form a reduced feature matrix; and computingdecomposition values of the reduced feature matrix and extracting aplurality of feature kernels from the computed decomposition values. 12.The apparatus for computing feature kernels for optical model simulationaccording to claim 11, wherein the reduced feature matrix is formed by afinal result of the iterations.
 13. The apparatus for computing featurekernels for optical model simulation according to claim 11, wherein thereduced feature matrix is formed by initiating an empty basis andaccumulating an intermediate result of each iteration to the emptybasis.
 14. The apparatus for computing feature kernels for optical modelsimulation according to claim 11, wherein the sampling matrix comprisesa random matrix, a pseudorandom matrix, or a structured matrix, and theprocessor further performs oversampling to improve random samplingerror.
 15. The apparatus for computing feature kernels for optical modelsimulation according to claim 11, wherein the convergence condition ismet when a number of iterations reaches a predetermined number or anadaptive error metric is monitored.
 16. The apparatus for computingfeature kernels for optical model simulation according to claim 11,wherein the multiplication by the feature matrix is performed by theprocessor exploiting a subset of the properties without directlycomputing the full feature matrix.
 17. The apparatus for computingfeature kernels for optical model simulation according to claim 11,wherein the multiplication by the feature matrix is performed by theprocessor computing a convolution of a pupil matrix depending on theproperties and a conjugate transpose of the pupil matrix using FFT whena plurality of source points are laid on a conformal uniform grid. 18.The apparatus for computing feature kernels for optical model simulationaccording to claim 11, wherein the multiplication by the feature matrixis performed by the processor computing a convolution of a pupil matrixdepending on the properties and a conjugate transpose of the pupilmatrix using FFT when a plurality of source points in an arbitrarydistribution are resampled onto a conformal uniform grid.
 19. Theapparatus for computing feature kernels for optical model simulationaccording to claim 11, wherein the multiplication by the feature matrixis performed by the processor computing a convolution of a pupil matrixdepending on the properties and a conjugate transpose of the pupilmatrix using non-uniform FFT when a plurality of source points in anarbitrary distribution are not on a uniform grid.
 20. A non-transitorycomputer-readable recording medium comprising processor executableinstructions that when executed perform a method for computing featurekernels for optical model simulation, the method comprising: identifyinga feature matrix mathematically describing a plurality of properties ofan optical imaging system; generating a sampling matrix comprising atleast one vector serving as input to form a low-rank basis for thefeature matrix; multiplying the sampling matrix by the feature matrix toobtain a multiplication result and adaptively rescaling themultiplication result according to numerical stability of themultiplication result, and iteratively multiplying the rescaledmultiplication result by the feature matrix to obtain a multiplicationresult of a current iteration and rescaling the multiplication resultuntil a convergence condition is met; orthogonalizing the rescaledmultiplication result to obtain an orthogonalized result as the low-rankbasis; multiplying a conjugate transpose matrix of the low-rank basis bythe feature matrix and the low-rank basis to form a reduced featurematrix; and computing decomposition values of the reduced feature matrixand extracting a plurality of feature kernels from the computeddecomposition values.